{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. Incomplete, Positive-Only Labels\n",
    "\n",
    "## (a)\n",
    "\n",
    "We have"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ \\begin{align*}\n",
    "p(y^{(i)}=1\\mid x^{(i)}) &= p(t^{(i)}=1\\mid x^{(i)})p(y^{(i)}=1\\mid t^{(i)}=1,x^{(i)}) \\\\\n",
    "&\\phantom{=}+ p(t^{(i)}=0\\mid x^{(i)})\\underbrace{p(y^{(i)}=1\\mid t^{(i)}=0,x^{(i)})}_{=0}\\\\\n",
    "&= p(t^{(i)}=1\\mid x^{(i)})p(y^{(i)}=1\\mid t^{(i)}=1) \n",
    "\\end{align*}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So $\\alpha = p(y^{(i)}=1\\mid t^{(i)}=1)$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (b)\n",
    "\n",
    "$$\\begin{align*} h(x^{(i)})&\\approx p(y^{(i)}=1\\mid x^{(i)}) \\\\\n",
    "&=p(y^{(i)}=1\\mid t^{(i)}=1, x^{(i)})p(t^{(i)}=1\\mid x^{(i)})\\\\\n",
    "&\\phantom{=}+p(y^{(i)}=1\\mid t^{(i)}=0,x^{(i)})p(t^{(i)}=0\\mid x^{(i)})\\\\\n",
    "&\\approx \\alpha \\cdot 1 + 0\\cdot p(t=0\\mid x) = \\alpha.\n",
    "\\end{align*}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import src.util as util\n",
    "\n",
    "from src.linear_model import LinearModel"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reuse the logistic regression model from problem 1(b):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LogisticRegression(LinearModel):\n",
    "    \"\"\"Logistic regression with Newton's Method as the solver.\n",
    "\n",
    "    Example usage:\n",
    "        > clf = LogisticRegression()\n",
    "        > clf.fit(x_train, y_train)\n",
    "        > clf.predict(x_eval)\n",
    "    \"\"\"\n",
    "\n",
    "    def fit(self, x, y):\n",
    "        \"\"\"Run Newton's Method to minimize J(theta) for logistic regression.\n",
    "\n",
    "        Args:\n",
    "            x: Training example inputs. Shape (m, n).\n",
    "            y: Training example labels. Shape (m,).\n",
    "        \"\"\"\n",
    "        # *** START CODE HERE ***\n",
    "        def h(theta, x):\n",
    "            \"\"\"vectorized implementation of h_theta(x)\n",
    "            Args:\n",
    "                theta: Shape (n,)\n",
    "                x: Shape (m,n)\n",
    "\n",
    "            Returns:\n",
    "                numpy array of shape (m,)\n",
    "            \"\"\"\n",
    "            return 1 / (1 + np.exp(-np.dot(x, theta)))\n",
    "\n",
    "        def gradient(x, y, theta):\n",
    "            \"\"\"\n",
    "            Args:\n",
    "                x: numpy array of shape (m,n)\n",
    "                y: numpy array of shape (m,)\n",
    "                theta: numpy array of shape (n,)\n",
    "\n",
    "            \"\"\"\n",
    "            m, = y.shape\n",
    "            return -1 / m * np.dot(x.T, y - h(theta, x))\n",
    "\n",
    "        def hessian(x, y, theta):\n",
    "            \"\"\"\n",
    "            Args:\n",
    "                x: numpy array of shape (m,n)\n",
    "                y: numpy array of shape (m,)\n",
    "                theta: numpy array of shape (n,)\n",
    "\n",
    "            \"\"\"\n",
    "            m, = y.shape\n",
    "            htx = np.reshape(h(theta, x), (-1, 1))\n",
    "            return 1 / m * np.dot(x.T, x * htx * (1 - htx))\n",
    "\n",
    "        def nexttheta(theta):\n",
    "            grad = gradient(x, y, theta)\n",
    "            H = hessian(x, y, theta)\n",
    "            H_inv = np.linalg.inv(H)\n",
    "            return theta - np.dot(H_inv, grad)\n",
    "\n",
    "        m, n = x.shape\n",
    "        theta_prev = np.zeros(n)\n",
    "        theta_next = nexttheta(theta_prev)\n",
    "\n",
    "        while np.linalg.norm(theta_prev - theta_next, 1) > self.eps:\n",
    "            theta_prev = theta_next\n",
    "            theta_next = nexttheta(theta_prev)\n",
    "\n",
    "        self.theta = theta_next\n",
    "        # *** END CODE HERE ***\n",
    "\n",
    "    def predict(self, x):\n",
    "        \"\"\"Make a prediction given new inputs x.\n",
    "\n",
    "        Args:\n",
    "            x: Inputs of shape (m, n).\n",
    "\n",
    "        Returns:\n",
    "            Outputs of shape (m,).\n",
    "        \"\"\"\n",
    "        # *** START CODE HERE ***\n",
    "        return (x @ self.theta) >= 0\n",
    "        # *** END CODE HERE ***\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Load training, validation and test data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_path = \"data/ds3_train.csv\"\n",
    "valid_path = \"data/ds3_valid.csv\"\n",
    "test_path= \"data/ds3_test.csv\"\n",
    "\n",
    "x_train, t_train = util.load_dataset(train_path, label_col='t',add_intercept=True)\n",
    "_, y_train = util.load_dataset(train_path, label_col='y')\n",
    "\n",
    "x_val, t_val = util.load_dataset(valid_path, label_col='t',add_intercept=True)\n",
    "_, y_val = util.load_dataset(valid_path, label_col='y')\n",
    "\n",
    "x_test, t_test = util.load_dataset(test_path, label_col='t',add_intercept=True)\n",
    "_, y_test = util.load_dataset(test_path, label_col='y')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's take a look at the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "util.myplot(x_train,t_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Train our logistic regression classifier and plot the decision boundary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "theta for part (c): [-0.9711418   2.73208784  1.07403478]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "logreg_c = LogisticRegression()\n",
    "logreg_c.fit(x_train, t_train)\n",
    "util.myplot(x_train, t_train, logreg_c.theta)\n",
    "print(\"theta for part (c):\", logreg_c.theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For comparison let's compute the model's accuracy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def accuracy(clf, x, y):\n",
    "    y_pred = clf.predict(x)\n",
    "    return np.mean(y_pred == y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9838709677419355"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "logreg_c_acc = accuracy(logreg_c, x_test, t_test)\n",
    "logreg_c_acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (d)\n",
    "\n",
    "Train the model:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "logreg_d = LogisticRegression()\n",
    "logreg_d.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the decision boundary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "theta for part (c): [-2.91607454  0.78596651  0.09282768]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "util.myplot(x_train, t_train, logreg_d.theta)\n",
    "print(\"theta for part (c):\", logreg_d.theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This doesn't look like a good fit. And the accuracy proves that our model isn't better than guessing with a coin flip:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "logreg_d_acc = accuracy(logreg_d, x_test, t_test)\n",
    "logreg_d_acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (e)\n",
    "\n",
    "Implement the hypothesis function $h$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def h(x):\n",
    "    theta = logreg_d.theta\n",
    "    return 1/(1+np.exp(-x@theta))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Estimate $\\alpha$ using the validation set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "vplus = x_val[y_val==1]\n",
    "alpha = h(vplus).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute our predictions on the test set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "t_pred = h(x_test)/alpha >= 0.5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute the new accuracy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9516129032258065"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_e = np.mean(t_pred == t_test)\n",
    "acc_e"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "How do we get the new decision boundary?\n",
    "\n",
    "The points $x$ on the corrected decision boundary $\\theta'^Tx =0$ will satisfy the equation\n",
    "$$\\frac 1{1+\\exp(-\\theta^Tx)} = \\frac \\alpha 2,$$\n",
    "where $\\theta$ was computed in part (d).\n",
    "\n",
    "Solving this equation, shows that \n",
    "$$ \\theta' = \\theta + \\log(2/\\alpha -1) (1,0,0)^T.$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.55096984,  0.78596651,  0.09282768])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "theta_e = logreg_d.theta +np.array([np.log(2/alpha-1), 0,0])\n",
    "theta_e"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy when trained with t (part c): 0.9838709677419355\n",
      "accuracy when trained with y (part d): 0.5\n",
      " corrected accuracy when trained on y: 0.9516129032258065\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "util.myplot(x_test, t_test, logreg_c.theta)\n",
    "util.myplot(x_test, t_test, logreg_d.theta)\n",
    "util.myplot(x_test, t_test, theta_e)\n",
    "\n",
    "print(\"accuracy when trained with t (part c):\", logreg_c_acc)\n",
    "print(\"accuracy when trained with y (part d):\", logreg_d_acc)\n",
    "print(\" corrected accuracy when trained on y:\", acc_e)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
